package com.ffcs.test.mysql.controller;

import com.ffcs.base.mybatisPlus.controller.MyBaseController;
import com.ffcs.test.mysql.domain.User;
import com.ffcs.test.mysql.service.UserService;
import io.seata.spring.annotation.GlobalTransactional;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;


/**
 * 功能描述：TUserController 前端控制器
 *
 * @author ：86188
 * 创建日期 ：
 * <p>
 * 修改历史：(修改人，修改时间，修改原因/内容)
 */

@RestController
@RequestMapping("/mybatis")
public class UserController extends MyBaseController {
    private Logger logger = LoggerFactory.getLogger(getClass());

    @Resource
    private UserService tUserService;


    @RequestMapping("/getById")
    public User getById() {
        return this.tUserService.getById(1);
    }


    @RequestMapping("/save")
    @Trace
    @Tags({@Tag(key="param",value = "arg[0]"),
            @Tag(key="result",value = "returnedObj")
    })
    public String save(@RequestParam("name") String name, HttpServletRequest request) {
        String token = request.getHeader("Authorization");
        System.out.println("token:"+token);

        User user = new User();
        user.setAge(11);
        user.setName("小黄");
        user.setIsDeleted("1");
        this.tUserService.save(user);

//        int x=1/0;
        return "成功";
    }


//   aesult<Boolean> updateByConditions(@RequestBody List<ConditionVo> conditionList) {
//
//        return Result.success(this.tUserService.update(ConditionUtil.parseUpdateWhereSql(conditionList)));
//    }
//
//    /**
//     * 功能描述：根据id查询
//     *
//     * @param id
//     * @return 修改历史 ：(修改人，修改时间，修改原因/内容)
//     * @author ：86188
//     * 创建日期 ：
//     */
//    public Result<User> getById(@RequestBody Integer id) {
//
//        return Result.success(this.tUserService.getById(id));
//    }
//
//
//    /**
//     * 功能描述：根据ID 批量查询
//     *
//     * @param idList
//     * @return 修改历史 ：(修改人，修改时间，修改原因/内容)
//     * @author ：86188
//     * 创建日期 ：
//     */
//
//    public Result<List<User>> listByIds(@RequestBody List<Integer> idList) {
//
//        return Result.success((List<User>) this.tUserService.listByIds(idList));
//    }
//
//    /**
//     * 功能描述：根据条件查询单个（结果集，如果是多个会抛出异常）
//     *
//     * @param conditionList
//     * @return 修改历史 ：(修改人，修改时间，修改原因/内容)
//     * @author ：86188
//     * 创建日期 ：
//     */
//
//    public Result<User> getOneByConditions(@RequestBody List<ConditionVo> conditionList) {
//
//        return Result.success(this.tUserService.getOne(ConditionUtil.parseQueryWhereSql(conditionList)));
//
//    }
//
//    /**
//     * 功能描述：根据条件统计
//     *
//     * @param conditionList
//     * @return 修改历史 ：(修改人，修改时间，修改原因/内容)
//     * @author ：86188
//     * 创建日期 ：
//     */
//
//    public Result<Integer> count(@RequestBody List<ConditionVo> conditionList) {
//
//        return Result.success(this.tUserService.count(ConditionUtil.parseQueryWhereSql(conditionList)));
//    }
//
//    /**
//     * 功能描述：根据条件查询列表
//     *
//     * @param conditionList
//     * @return 修改历史 ：(修改人，修改时间，修改原因/内容)
//     * @author ：86188
//     * 创建日期 ：
//     */
//
//    public Result<List<User>> list(@RequestBody List<ConditionVo> conditionList) {
//
//        return Result.success(this.tUserService.list(ConditionUtil.parseQueryWhereSql(conditionList)));
//    }
//
//    /**
//     * 功能描述：根据条件查询列表
//     *
//     * @param conditionList
//     * @return 修改历史 ：(修改人，修改时间，修改原因/内容)
//     * @author ：86188
//     * 创建日期 ：
//     */
//
//    public Result<List<Map<String, Object>>> listMaps(@RequestBody List<ConditionVo> conditionList) {
//
//        return Result.success(this.tUserService.listMaps(ConditionUtil.parseQueryWhereSql(conditionList)));
//    }
//
//
//    /**
//     * 功能描述：分页查询
//     *
//     * @param page
//     * @return 修改历史 ：(修改人，修改时间，修改原因/内容)
//     * @author ：86188
//     * 创建日期 ：
//     */
//
//    public Result<Page<User>> page(@RequestBody PageConditionVo<User> page) {
//
//        return Result.successPage(this.tUserService.page(page, ConditionUtil.parseQueryWhereSql(page.getConditionList())));
//    }
//
//    /**
//     * 功能描述：分页查询
//     *
//     * @param page
//     * @return 修改历史 ：(修改人，修改时间，修改原因/内容)
//     * @author ：86188
//     * 创建日期 ：
//     */
//
//    public Result<Page<Map<String, Object>>> pageMaps(@RequestBody PageConditionVo<Map<String, Object>> page) {
//
//        return Result.successPageMap(this.tUserService.pageMaps(page, ConditionUtil.parseQueryWhereSql(page.getConditionList())));
//    }
}
